#pragma once

typedef struct
{
	UINT16	usItem;
	UINT32	uiItemClass;
	INT8		bAttachmentSkillCheck;
	INT8		bAttachmentSkillCheckMod;
} AttachmentInfoStruct;

#define ATTACHMENTINFO_TAG		_T("ATTACHMENTINFO")
#define MAX_ATTACHMENTINFO		256

#define ATTACH_TAG		_T("ATTACH")
#define MAX_ATTACH		1024

#define LAUNCHABLE_TAG		_T("LAUNCHABLE")
#define MAX_LAUNCHABLE		256

#define FACECOMBO_TAG		_T("FACECOMBO")
#define MAX_FACECOMBO		256

typedef enum
{
	DESTRUCTION,
	COMBINE_POINTS,
	TREAT_ARMOUR,
	EXPLOSIVE,
	EASY_MERGE,
	ELECTRONIC_MERGE,
} MergeType;

typedef enum
{
	NO_CHECK = 0,
	LOCKPICKING_CHECK,
	ELECTRONIC_LOCKPICKING_CHECK,
	ATTACHING_DETONATOR_CHECK,
	ATTACHING_REMOTE_DETONATOR_CHECK,
	PLANTING_BOMB_CHECK,
	PLANTING_REMOTE_BOMB_CHECK,
	OPEN_WITH_CROWBAR,
	SMASH_DOOR_CHECK,
	DISARM_TRAP_CHECK,
	UNJAM_GUN_CHECK,
	NOTICE_DART_CHECK,
	LIE_TO_QUEEN_CHECK,
	ATTACHING_SPECIAL_ITEM_CHECK,
	ATTACHING_SPECIAL_ELECTRONIC_ITEM_CHECK,
	DISARM_ELECTRONIC_TRAP_CHECK,
} SkillChecks;

#define CHECK_ID(item)	if(!_tcscmp(_T(#item),tsClass)) return item;

#define MERGE_TAG		_T("MERGE")
#define MAX_MERGE		512

typedef struct
{
	UINT16	usItem;
	UINT16	usAttachment[2];
	UINT16	usResult;
} ComboMergeInfoStruct;

#define COMBO_TAG		_T("COMBO")
#define MAX_COMBO		512

